import { ListPage } from "custom/index";
import { getCustomerReceptionPage } from './api'
import dayjs from 'dayjs'
import customerReceptionDetailDialog from './dialog/customer-reception-detail-dialog'

const getParams = ctx => {
  const { props } = ctx
  return { url: 'DataQueryAnalysis4', condition: props.query, sort: props.sort }
}

const page = new ListPage('DayPage');

page
  .api(getCustomerReceptionPage)
  .useSearch()
    .useInputItem('keyword', '客户名称/店铺名称/客服姓名/客服花名').showColumns(false).end()
    .useDateRangePicker(['dateStart', 'dateEnd'], { label: '日期', clearable: false }).setDefault(dayjs().subtract(2, 'day').format('YYYY-MM-DD'), 'dateStart').setDefault(dayjs().subtract(1, 'day').format('YYYY-MM-DD'), 'dateEnd').upto('PageSearch')
    .addDictSelect({ prop: 'customPostType', label: '岗位类别' }, 'customPostType')
    .addItem({ prop: 'name', label: '客服姓名' })
    .addItem({ prop: 'flowerName', label: '客服花名' })
    .addNumberRangePicker(['receptionVolumeStart', 'receptionVolumeEnd'], { label: '平均接待量' })
    .addNumberRangePicker(['conversionRateStart', 'conversionRateEnd'], { label: '平均转化率' })
    .addNumberRangePicker(['responseTimeStart', 'responseTimeEnd'], { label: '平均响应时间' })
    .addNumberRangePicker(['qaratioStart', 'qaratioEnd'], { label: '平均问答比' })
    .addNumberRangePicker(['responseRateStart', 'responseRateEnd'], { label: '平均回复率' })
    .end()
  .useTable()
    .useIndexColumn().end()
    .useColumn('dateStart').label('开始日期').minWidth(130).end()
    .useColumn('dateEnd').label('结束日期').minWidth(130).end()
    .useColumn('customGroup').label('客服分组').showOverflowTooltip().minWidth(140).end()
    .useColumn('customTypeName').label('客服类型').minWidth(160).end()
    .useColumn('name').label('客服姓名').minWidth(200).end()
    .useColumn('flowerName').label('客服花名').minWidth(160).end()
    .useColumn('no').label('客服工号').minWidth(200).end()
    .useColumn('sumReceptionVolume').label('总接待量').minWidth(200).sortable().end()
    .useColumn('sumSalesRevenue').label('总销售额').minWidth(200).sortable().end()
    .useColumn('averageReceptionVolume').label('平均接待量').minWidth(140).end()
    .useColumn('averageConversionRate').label('平均转化率').minWidth(140).sortable().end()
    .useColumn('averageResponseTime').label('平均响应时间').minWidth(140).sortable().end()
    .useColumn('averageQARatio').label('平均问答比').minWidth(140).sortable().end()
    .useColumn('averageResponseRate').label('平均回复率').minWidth(140).sortable().end()
    .end()
  .usePagination()
    .end()
  .useAuthColumn()
    .useItem().content('详情').editRow(customerReceptionDetailDialog).end()
    .end()
  .useAuthButton()
    .useItem('').content('导出').exportExcel(getParams).end()


export default page
 